/*************************************************
filename	: system_window.h
author		: Stefan lulham
desc		: System window
*************************************************/
#ifndef D_SYSTEM_WINDOW_H
#define D_SYSTEM_WINDOW_H

#include <string>
#include <modules\system\system_gadget.h>
#include <modules\system\system_enums.h>
#include <platform.h>

#if defined(DELGE_PLATFORM_WIN32)
#include <modules\system\win32\win32_system_window.h>
#define InterfaceSystemWindow		Win32SystemWindow
#endif

using namespace std;

namespace DelGE
{
	namespace Modules
	{
		namespace System
		{
			class SystemWindow : public SystemGadget
			{
			public:
				SystemWindow();
				SystemWindow(string sCaption, int iWidth, int iHeight, DelGESystemWindowStyle eStyle = DelGESystemWindowStyle_FixedSize);
				SystemWindow(InterfaceSystemWindow* pImplementation);
				~SystemWindow();

				void SetCaption(string sCaption);
				string GetCaption();

				void Show();
				void Hide();

				void SetStyle(DelGESystemWindowStyle eStyle);
				DelGESystemWindowStyle GetStyle();

				bool IsClosed();
			};
		}
	}
}

#endif